package org.jeecg.modules.flowable.service.bo.taskdetail;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.modules.flowable.entity.TActActionEntity;
import org.jeecg.modules.flowable.entity.TActMatterInstEntity;
import org.jeecg.modules.flowable.service.bo.taskconf.TaskConf;
import org.jeecg.modules.flowable.system.service.uplode.bo.WebFsDataResult;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * Title: 任务详情 <br>
 * Desc:  <br>
 * Date: 6/20/22 9:24 AM <br>
 * Company: 联通（辽宁）产业互联网有限公司 <br>
 *
 * @author zxd
 * @version 1.0.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="TaskDetail对象", description="")
public class TaskDetail extends TActMatterInstEntity {

    @ApiModelProperty(value = "任务ID")
    private String taskId;

    @ApiModelProperty(value = "正文表单设计")
    private String formDesigner;

    @ApiModelProperty(value = "正文表单值")
    private Map<String, Object> formData;

    @ApiModelProperty(value = "正文表附件")
    private List<WebFsDataResult> attrList;

    @ApiModelProperty(value = "任务表单设计")
    private String taskFormDesigner;

    @ApiModelProperty(value = "任务表单值")
    private Map<String, String> taskFormData;

    @ApiModelProperty(value = "任务表附件")
    private List<WebFsDataResult> taskAttrList;

    @ApiModelProperty(value = "节点态度(1同意、2不同意、3已阅、4中止)")
    private Integer attType;

    @ApiModelProperty(value = "处理意见")
    private String attDesc;

    @ApiModelProperty(value = "可执行动作列表")
    private List<TActActionEntity> actionList;

    @ApiModelProperty(value = "流转概览")
    private List<TaskBrowse> taskBrowseList;

    @ApiModelProperty(value = "流转详情")
    private List<TaskBrowseDetail> taskBrowseDetailList;

    @ApiModelProperty(value = "任务节点配置数据")
    private TaskConf taskConf;

    @ApiModelProperty(value = "流程最后的态度")
    private TaskAtt lastAtt;

    @ApiModelProperty(value = "流程是否结束")
    private Boolean isFinish;

    @ApiModelProperty(value = "流程结束时间")
    private Date finishTime;

    @ApiModelProperty(value = "系统当前时间")
    private Date systemCurrTime;

    @ApiModelProperty(value = "流程首次提交的时间")
    private Date firstTime;

    @ApiModelProperty(value = "当前任务环节名称列表，多个任务中间用逗号分隔")
    private String currTaskNames;

    @ApiModelProperty(value = "当前任务环节ID列表，多个任务中间用逗号分隔")
    private String currTaskIds;

    @ApiModelProperty(value = "表单标识")
    private String formKey;

    @ApiModelProperty(value = "表单内容JSON")
    private String formContent;

}